<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LiquidFun: b2PulleyJoint Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LiquidFun
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classb2_pulley_joint-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">b2PulleyJoint Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="b2_pulley_joint_8h_source.html">b2PulleyJoint.h</a>&gt;</code></p>

<p>Inherits <a class="el" href="classb2_joint.html">b2Joint</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a05ac0d0d927e9541f08b07cb1bf9ec56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05ac0d0d927e9541f08b07cb1bf9ec56"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a05ac0d0d927e9541f08b07cb1bf9ec56">GetAnchorA</a> () const </td></tr>
<tr class="memdesc:a05ac0d0d927e9541f08b07cb1bf9ec56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the anchor point on bodyA in world coordinates. <br/></td></tr>
<tr class="separator:a05ac0d0d927e9541f08b07cb1bf9ec56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cc3596f683d621b9a885c2569ecd452"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cc3596f683d621b9a885c2569ecd452"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a5cc3596f683d621b9a885c2569ecd452">GetAnchorB</a> () const </td></tr>
<tr class="memdesc:a5cc3596f683d621b9a885c2569ecd452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the anchor point on bodyB in world coordinates. <br/></td></tr>
<tr class="separator:a5cc3596f683d621b9a885c2569ecd452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38c174bf1cf1011063ff4c16556b331e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38c174bf1cf1011063ff4c16556b331e"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a38c174bf1cf1011063ff4c16556b331e">GetReactionForce</a> (float32 inv_dt) const </td></tr>
<tr class="memdesc:a38c174bf1cf1011063ff4c16556b331e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the reaction force on bodyB at the joint anchor in Newtons. <br/></td></tr>
<tr class="separator:a38c174bf1cf1011063ff4c16556b331e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a418b200055623474c44742b1342dd278"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a418b200055623474c44742b1342dd278"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a418b200055623474c44742b1342dd278">GetReactionTorque</a> (float32 inv_dt) const </td></tr>
<tr class="memdesc:a418b200055623474c44742b1342dd278"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the reaction torque on bodyB in N*m. <br/></td></tr>
<tr class="separator:a418b200055623474c44742b1342dd278"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19eefa28d2647882406ea9bfe2850a9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19eefa28d2647882406ea9bfe2850a9e"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a19eefa28d2647882406ea9bfe2850a9e">GetGroundAnchorA</a> () const </td></tr>
<tr class="memdesc:a19eefa28d2647882406ea9bfe2850a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first ground anchor. <br/></td></tr>
<tr class="separator:a19eefa28d2647882406ea9bfe2850a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b49d0dbce802f19711a9ab6d7dadfee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b49d0dbce802f19711a9ab6d7dadfee"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a1b49d0dbce802f19711a9ab6d7dadfee">GetGroundAnchorB</a> () const </td></tr>
<tr class="memdesc:a1b49d0dbce802f19711a9ab6d7dadfee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the second ground anchor. <br/></td></tr>
<tr class="separator:a1b49d0dbce802f19711a9ab6d7dadfee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b4c2e5cb4f5da48fcb074c7b5988084"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b4c2e5cb4f5da48fcb074c7b5988084"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a6b4c2e5cb4f5da48fcb074c7b5988084">GetLengthA</a> () const </td></tr>
<tr class="memdesc:a6b4c2e5cb4f5da48fcb074c7b5988084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current length of the segment attached to bodyA. <br/></td></tr>
<tr class="separator:a6b4c2e5cb4f5da48fcb074c7b5988084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7f31a35c6fb32647fd15d57e4ce60c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc7f31a35c6fb32647fd15d57e4ce60c"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#abc7f31a35c6fb32647fd15d57e4ce60c">GetLengthB</a> () const </td></tr>
<tr class="memdesc:abc7f31a35c6fb32647fd15d57e4ce60c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current length of the segment attached to bodyB. <br/></td></tr>
<tr class="separator:abc7f31a35c6fb32647fd15d57e4ce60c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a625685e60d95b7c5a725e8586d146752"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a625685e60d95b7c5a725e8586d146752"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a625685e60d95b7c5a725e8586d146752">GetRatio</a> () const </td></tr>
<tr class="memdesc:a625685e60d95b7c5a725e8586d146752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pulley ratio. <br/></td></tr>
<tr class="separator:a625685e60d95b7c5a725e8586d146752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa57599ec0d229c3ef95dafa39a277c7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa57599ec0d229c3ef95dafa39a277c7b"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#aa57599ec0d229c3ef95dafa39a277c7b">GetCurrentLengthA</a> () const </td></tr>
<tr class="memdesc:aa57599ec0d229c3ef95dafa39a277c7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current length of the segment attached to bodyA. <br/></td></tr>
<tr class="separator:aa57599ec0d229c3ef95dafa39a277c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b68ad489d726afa74e538331c1f72d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b68ad489d726afa74e538331c1f72d8"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a3b68ad489d726afa74e538331c1f72d8">GetCurrentLengthB</a> () const </td></tr>
<tr class="memdesc:a3b68ad489d726afa74e538331c1f72d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current length of the segment attached to bodyB. <br/></td></tr>
<tr class="separator:a3b68ad489d726afa74e538331c1f72d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad12d0e03b5d07b2f8af1005c95c67aa2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad12d0e03b5d07b2f8af1005c95c67aa2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#ad12d0e03b5d07b2f8af1005c95c67aa2">Dump</a> ()</td></tr>
<tr class="memdesc:ad12d0e03b5d07b2f8af1005c95c67aa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump joint to dmLog. <br/></td></tr>
<tr class="separator:ad12d0e03b5d07b2f8af1005c95c67aa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b88d498ce306c4ff5ce99dec4811825"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b88d498ce306c4ff5ce99dec4811825"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_pulley_joint.html#a5b88d498ce306c4ff5ce99dec4811825">ShiftOrigin</a> (const <a class="el" href="structb2_vec2.html">b2Vec2</a> &amp;newOrigin)</td></tr>
<tr class="memdesc:a5b88d498ce306c4ff5ce99dec4811825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implement <a class="el" href="classb2_joint.html#a7804f649e993dc0fd9ae47fde5601f90" title="Shift the origin for any points stored in world coordinates. ">b2Joint::ShiftOrigin</a>. <br/></td></tr>
<tr class="separator:a5b88d498ce306c4ff5ce99dec4811825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a37a2ca3f0d41c6903d2cc73757f02be2 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37a2ca3f0d41c6903d2cc73757f02be2"></a>
b2JointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a37a2ca3f0d41c6903d2cc73757f02be2">GetType</a> () const </td></tr>
<tr class="memdesc:a37a2ca3f0d41c6903d2cc73757f02be2 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the concrete joint. <br/></td></tr>
<tr class="separator:a37a2ca3f0d41c6903d2cc73757f02be2 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ed5eca3dbdce48665c14452b280613f inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ed5eca3dbdce48665c14452b280613f"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a2ed5eca3dbdce48665c14452b280613f">GetBodyA</a> ()</td></tr>
<tr class="memdesc:a2ed5eca3dbdce48665c14452b280613f inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first body attached to this joint. <br/></td></tr>
<tr class="separator:a2ed5eca3dbdce48665c14452b280613f inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700b3d4c87f34f456151b9598e4641a0 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a700b3d4c87f34f456151b9598e4641a0"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a700b3d4c87f34f456151b9598e4641a0">GetBodyB</a> ()</td></tr>
<tr class="memdesc:a700b3d4c87f34f456151b9598e4641a0 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the second body attached to this joint. <br/></td></tr>
<tr class="separator:a700b3d4c87f34f456151b9598e4641a0 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a0e2137b631010750c728cb4e276e5d inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a0e2137b631010750c728cb4e276e5d"></a>
<a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a1a0e2137b631010750c728cb4e276e5d">GetNext</a> ()</td></tr>
<tr class="memdesc:a1a0e2137b631010750c728cb4e276e5d inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next joint the world joint list. <br/></td></tr>
<tr class="separator:a1a0e2137b631010750c728cb4e276e5d inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac83edb39806085608c9d549dd98550 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ac83edb39806085608c9d549dd98550"></a>
const <a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetNext</b> () const </td></tr>
<tr class="separator:a1ac83edb39806085608c9d549dd98550 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a505ab02c234f1cc20aa3375f3ab7b587 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a505ab02c234f1cc20aa3375f3ab7b587"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a505ab02c234f1cc20aa3375f3ab7b587">GetUserData</a> () const </td></tr>
<tr class="memdesc:a505ab02c234f1cc20aa3375f3ab7b587 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the user data pointer. <br/></td></tr>
<tr class="separator:a505ab02c234f1cc20aa3375f3ab7b587 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a492f2d02496437572aaec6013ebdc1c8 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a492f2d02496437572aaec6013ebdc1c8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a492f2d02496437572aaec6013ebdc1c8">SetUserData</a> (void *data)</td></tr>
<tr class="memdesc:a492f2d02496437572aaec6013ebdc1c8 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the user data pointer. <br/></td></tr>
<tr class="separator:a492f2d02496437572aaec6013ebdc1c8 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a825d3a6abb32014f31fd622f2bfc0363 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a825d3a6abb32014f31fd622f2bfc0363"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a825d3a6abb32014f31fd622f2bfc0363">IsActive</a> () const </td></tr>
<tr class="memdesc:a825d3a6abb32014f31fd622f2bfc0363 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-cut function to determine if either body is inactive. <br/></td></tr>
<tr class="separator:a825d3a6abb32014f31fd622f2bfc0363 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09c6bdfa5842522ba381bac8dd559f4d inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a09c6bdfa5842522ba381bac8dd559f4d">GetCollideConnected</a> () const </td></tr>
<tr class="separator:a09c6bdfa5842522ba381bac8dd559f4d inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aca1b8dc6fb05c134ccbc0423674c1867"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca1b8dc6fb05c134ccbc0423674c1867"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>b2PulleyJoint</b> (const <a class="el" href="structb2_pulley_joint_def.html">b2PulleyJointDef</a> *data)</td></tr>
<tr class="separator:aca1b8dc6fb05c134ccbc0423674c1867"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b339ba58e82261beeb55f9ab04cfa7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b339ba58e82261beeb55f9ab04cfa7e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>InitVelocityConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr class="separator:a1b339ba58e82261beeb55f9ab04cfa7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a517858e93e24f3daa51be4873b22c2c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a517858e93e24f3daa51be4873b22c2c3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SolveVelocityConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr class="separator:a517858e93e24f3daa51be4873b22c2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fcdd728e02b7c89372bf11b7732d976"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fcdd728e02b7c89372bf11b7732d976"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>SolvePositionConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr class="separator:a8fcdd728e02b7c89372bf11b7732d976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a8d6cce91546335fe95325d5e29c06a19 inherit pro_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d6cce91546335fe95325d5e29c06a19"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>b2Joint</b> (const <a class="el" href="structb2_joint_def.html">b2JointDef</a> *def)</td></tr>
<tr class="separator:a8d6cce91546335fe95325d5e29c06a19 inherit pro_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a13456d1c62a4e96e8247988152be4166"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13456d1c62a4e96e8247988152be4166"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_groundAnchorA</b></td></tr>
<tr class="separator:a13456d1c62a4e96e8247988152be4166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cc8195bf4e2d53606db0b49d9fc1cbc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cc8195bf4e2d53606db0b49d9fc1cbc"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_groundAnchorB</b></td></tr>
<tr class="separator:a9cc8195bf4e2d53606db0b49d9fc1cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26f2565f804692553e6b96e58621dbc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26f2565f804692553e6b96e58621dbc9"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_lengthA</b></td></tr>
<tr class="separator:a26f2565f804692553e6b96e58621dbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa44e84a3eed2ded26fca07281e247bbd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa44e84a3eed2ded26fca07281e247bbd"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_lengthB</b></td></tr>
<tr class="separator:aa44e84a3eed2ded26fca07281e247bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58cb3464ba25236e316b35d66e92366f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58cb3464ba25236e316b35d66e92366f"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localAnchorA</b></td></tr>
<tr class="separator:a58cb3464ba25236e316b35d66e92366f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af643cf90fb22709fe410164d8a46ea50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af643cf90fb22709fe410164d8a46ea50"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localAnchorB</b></td></tr>
<tr class="separator:af643cf90fb22709fe410164d8a46ea50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e73d1d31126331267a1661beb146bc7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e73d1d31126331267a1661beb146bc7"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_constant</b></td></tr>
<tr class="separator:a0e73d1d31126331267a1661beb146bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa44594b9b4826c565da387bed5f02470"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa44594b9b4826c565da387bed5f02470"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_ratio</b></td></tr>
<tr class="separator:aa44594b9b4826c565da387bed5f02470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e5b5fff8b1564688b38d139c5f7c65a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e5b5fff8b1564688b38d139c5f7c65a"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_impulse</b></td></tr>
<tr class="separator:a1e5b5fff8b1564688b38d139c5f7c65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ef68a1d29ef264d4c2ab2d363d9eb97"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ef68a1d29ef264d4c2ab2d363d9eb97"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexA</b></td></tr>
<tr class="separator:a6ef68a1d29ef264d4c2ab2d363d9eb97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbeb702d3db8a9560d9d1d57ebb1e7f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbeb702d3db8a9560d9d1d57ebb1e7f2"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexB</b></td></tr>
<tr class="separator:acbeb702d3db8a9560d9d1d57ebb1e7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b49167603509d296aa8d04e46b13658"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b49167603509d296aa8d04e46b13658"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_uA</b></td></tr>
<tr class="separator:a8b49167603509d296aa8d04e46b13658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1354dfebc4658560b9d7e4b447b1dd5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1354dfebc4658560b9d7e4b447b1dd5e"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_uB</b></td></tr>
<tr class="separator:a1354dfebc4658560b9d7e4b447b1dd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ebd669d4856b0c6d1d6f76d7a9eae2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ebd669d4856b0c6d1d6f76d7a9eae2d"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_rA</b></td></tr>
<tr class="separator:a4ebd669d4856b0c6d1d6f76d7a9eae2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6be5e9ad2eeaee5cf25e1df61d923a58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6be5e9ad2eeaee5cf25e1df61d923a58"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_rB</b></td></tr>
<tr class="separator:a6be5e9ad2eeaee5cf25e1df61d923a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82741929b0aa083f520a3d7f9ef675bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82741929b0aa083f520a3d7f9ef675bb"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localCenterA</b></td></tr>
<tr class="separator:a82741929b0aa083f520a3d7f9ef675bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd382cd6772fa3be1958c4845369f6c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd382cd6772fa3be1958c4845369f6c3"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localCenterB</b></td></tr>
<tr class="separator:abd382cd6772fa3be1958c4845369f6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c37029c6b7117a07bb8be552b44ee3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c37029c6b7117a07bb8be552b44ee3f"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invMassA</b></td></tr>
<tr class="separator:a7c37029c6b7117a07bb8be552b44ee3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e470cbc2e9f596c93e144630657534"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4e470cbc2e9f596c93e144630657534"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invMassB</b></td></tr>
<tr class="separator:ad4e470cbc2e9f596c93e144630657534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a701fbc685109f5b397b968be2407b123"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a701fbc685109f5b397b968be2407b123"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invIA</b></td></tr>
<tr class="separator:a701fbc685109f5b397b968be2407b123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19278e2f7dcec7275aff55b1d760b398"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19278e2f7dcec7275aff55b1d760b398"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invIB</b></td></tr>
<tr class="separator:a19278e2f7dcec7275aff55b1d760b398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60efdc42d9fd8f4c50f96eb68ff3f191"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60efdc42d9fd8f4c50f96eb68ff3f191"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_mass</b></td></tr>
<tr class="separator:a60efdc42d9fd8f4c50f96eb68ff3f191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a3fd3f2532d108d81df81427815210a59 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fd3f2532d108d81df81427815210a59"></a>
b2JointType&#160;</td><td class="memItemRight" valign="bottom"><b>m_type</b></td></tr>
<tr class="separator:a3fd3f2532d108d81df81427815210a59 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a940166e7b5d87cec1ad0603e0388854a inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a940166e7b5d87cec1ad0603e0388854a"></a>
<a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_prev</b></td></tr>
<tr class="separator:a940166e7b5d87cec1ad0603e0388854a inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad16778ba9c51cebb767ff7df6ed80b5 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad16778ba9c51cebb767ff7df6ed80b5"></a>
<a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_next</b></td></tr>
<tr class="separator:aad16778ba9c51cebb767ff7df6ed80b5 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406ea423db1fe6484408d73df647f7b2 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a406ea423db1fe6484408d73df647f7b2"></a>
<a class="el" href="structb2_joint_edge.html">b2JointEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_edgeA</b></td></tr>
<tr class="separator:a406ea423db1fe6484408d73df647f7b2 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1041219dcd353ea815ebd78f904af547 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1041219dcd353ea815ebd78f904af547"></a>
<a class="el" href="structb2_joint_edge.html">b2JointEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_edgeB</b></td></tr>
<tr class="separator:a1041219dcd353ea815ebd78f904af547 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaebb784a51abb7d66de302ba07a4467 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaebb784a51abb7d66de302ba07a4467"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyA</b></td></tr>
<tr class="separator:abaebb784a51abb7d66de302ba07a4467 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fd77fcbcb8a8a3729c7dc5b790d7200 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fd77fcbcb8a8a3729c7dc5b790d7200"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyB</b></td></tr>
<tr class="separator:a1fd77fcbcb8a8a3729c7dc5b790d7200 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae207295484bc040b6b52d96d63f1369f inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae207295484bc040b6b52d96d63f1369f"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_index</b></td></tr>
<tr class="separator:ae207295484bc040b6b52d96d63f1369f inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777e45428d9a74d626f4afa1b45e1975 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a777e45428d9a74d626f4afa1b45e1975"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_islandFlag</b></td></tr>
<tr class="separator:a777e45428d9a74d626f4afa1b45e1975 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1a93c14c8dd666bb487db6c98daad33 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1a93c14c8dd666bb487db6c98daad33"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_collideConnected</b></td></tr>
<tr class="separator:ac1a93c14c8dd666bb487db6c98daad33 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8a31b6d5d6e76ccf7c975b2b3ae7366 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8a31b6d5d6e76ccf7c975b2b3ae7366"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>m_userData</b></td></tr>
<tr class="separator:ae8a31b6d5d6e76ccf7c975b2b3ae7366 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a54ade8ed3d794298108d7f4c4e4793fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54ade8ed3d794298108d7f4c4e4793fa"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2Joint</b></td></tr>
<tr class="separator:a54ade8ed3d794298108d7f4c4e4793fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_static_methods_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a2e500c93107d0bf6b0a21654528faeab inherit pro_static_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e500c93107d0bf6b0a21654528faeab"></a>
static <a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Create</b> (const <a class="el" href="structb2_joint_def.html">b2JointDef</a> *def, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:a2e500c93107d0bf6b0a21654528faeab inherit pro_static_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf52946b6672d77f268b849ccb09e003 inherit pro_static_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf52946b6672d77f268b849ccb09e003"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>Destroy</b> (<a class="el" href="classb2_joint.html">b2Joint</a> *joint, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:acf52946b6672d77f268b849ccb09e003 inherit pro_static_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 + ratio * length2 &lt;= constant Yes, the force transmitted is scaled by the ratio. Warning: the pulley joint can get a bit squirrelly by itself. They often work better when combined with prismatic joints. You should also cover the the anchor points with static shapes to prevent one side from going to zero length. </p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="b2_pulley_joint_8h_source.html">b2PulleyJoint.h</a></li>
<li>b2PulleyJoint.cpp</li>
</ul>
</div><!-- contents -->
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46159502-1', 'auto');
ga('create', 'UA-49880327-7', 'auto', {'name': 'liquidFunTracker'});
ga('send', 'pageview');
ga('liquidFunTracker.send', 'pageview');
</script>
</body>
</html>
